1. Technical Field
The present disclosure relates to cloud computing and more specifically to using cloud-based storage to transparently reduce the space requirements of an application installed on a client device.
2. Introduction
Many applications installed on a client device include functionality that requires the use of assets or resources that are external to the main application executable, such as through a template file, a library file, a data file, another application, a daemon, etc. For example, a word processing program can include a main application executable that provides the core functionality. To provide specialized functionality, such as specially designed document formatting that a user can reuse, the word processing program can include templates. When a user chooses to use a predefined document format, the corresponding template is loaded from an external resource file.
The full set of application resource files included with an application can be designed to cover a broad application usage spectrum and the majority of users may only make use of a subset of the application resources. For example, word processing applications often include a plethora of templates targeting a range of use cases, including personal and business use. A user who installs a word processing application for personal use has a lower likelihood of using the business related templates than the templates designed for the personal use cases. Additionally, in some cases, a user may never use a single template or may only use personally created templates. The templates that are never used occupy space on the user's device that could be used to store data actually used by the user.